package cn.iocoder.yudao.module.wine.controller.admin.businesscredit.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;
import java.util.List;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 会员等级管理新增/修改 Request VO")
@Data
public class BusinessCreditSaveReqVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "11034")
    private Long id;

    @Schema(description = "信用等级名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @NotEmpty(message = "信用等级名称不能为空")
    private String name;

    @Schema(description = "信用等级", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "信用等级不能为空")
    private Integer level;

    @Schema(description = "升级经验", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "升级经验不能为空")
    private Integer experience;

    @Schema(description = "信用等级图标", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "信用等级图标不能为空")
    private String icon;

    @Schema(description = "信用等级背景图", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @NotEmpty(message = "信用等级背景图不能为空")
    private String backgroundUrl;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "状态不能为空")
    private Integer status;


    @Schema(description = "金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private BigDecimal price;

    @Schema(description = "保证金制度", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private String institution;
    /**
     * 会员功能模块，逗号隔开
     */
    @Schema(description = "功能模块", requiredMode = Schema.RequiredMode.REQUIRED, example = "['a', 'b']")
    private List<String> modular;
}
